草庐IT

java - rabbitMQ 单元测试

全部标签

java - 在 Eureka Server 中,发现和注册服务/应用程序不是在 Spring 中开发的

如何在EurekaServer中发现和注册没有使用Spring(例如,在Java-JEE和Go上)构建的Web应用程序?在Spring-Boot应用程序中,很容易添加这些注释:@EnableDiscoveryClient@SpringBootApplication之前publicclassEurekaClientApp{publicstaticvoidmain(String[]args){SpringApplication.run(EurekaClientApp.class,args);}}在配置中,application.propertieseureka.client.registe

go - 暂停 RabbitMQ 消费者

我正在使用Go为RabbitMQ编写消费者,它必须暂停消息消费一段时间,然后恢复以再次使用队列中的消息。在阅读文档时https://godoc.org/github.com/streadway/amqp我无法确定我需要在我的代码中实现的机制。这有可能吗?有例子吗?我的代码片段:rabbitMQMessages,err=ch.Consume("TestQ","testConsumer",false,true,false,false,nil,)failOnError(err,"Failedtoregisteraconsumer")forever:=make(chanbool)gofunc(

go - 使用事务运行 Go 测试

我有使用FoundationDB的Go代码,我想测试它。我从字面上复制了GotestfromApple'sGithub.当我取消注释在事务中实际运行Set的行时,测试挂起然后超时。(该行仍然被注释掉,它按预期工作。)funcTestExampleTransactor(t*testing.T){fdb.MustAPIVersion(400)//Note:testbehavesthesamewithMustAPIVersion(600)db:=fdb.MustOpenDefault()setOne:=func(tfdb.Transactor,keyfdb.Key,value[]byte)e

go - 如何在保留测试可比性的同时使用动态误差?

在go中我经常用funcMyFunc(ssomeInterface)error{err:=OtherFunc(s)returnfmt.Errorf("somethingwrong:%s",err)}所以我失去了原来的错误值,因为我只是把错误字符串伪造成一个新的错误。这就是我所说的动态错误。现在考虑对MyFunc()进行测试:funcTestMyFunc(t*testing.T){s:=mockSomeInterface()testErr:=MyFunc(s)iftestErr!=interfaceSpecificErrorValue{t.Errorf("fail")}}interfac

golang 去测试具体目录

我想测试除static路径之外的所有其他路径中的文件。我查过资料,可以通过gotest-run,但是我一直尝试失败下面是我的项目路径结构api/...common/...static/...//exceptthis... 最佳答案 您可以使用此命令排除特定文件夹:find./-typed!-path"./static*"!-path"./.git*"-execgotest-v"{}"\; 关于golang去测试具体目录,我们在StackOverflow上找到一个类似的问题:

通过 Visual Studio Code : Imports do not work. 的 GoLang 扩展从常规命令行构建和测试正常

我正在使用VSCode在MacOS上测试这个非常简单的Go代码。该项目由这些示例包/文件组成:azure.com/myproj/cmd/service/main/main.goazure.com/myproj/cmd/service/service.goazure.com/myproj/cmd/service/tests/test.goazure.com/myproj/internal/common/common.go在终端命令行上,一切都已构建并且所有测试都通过了:去build。//(适用于每个文件夹)去测试。//(测试工作并通过)但是,从VS代码我有2个问题:1.从一个包到另一个包

unit-testing - 表驱动测试中的竞争检测

我有一个表驱动测试和表循环外的initvar(worker)。我使用gotest-raсe运行测试并添加了t.Parallel()并且没有检测到竞争条件。我可以假设我的测试没有竞争条件吗://Thismockcouldbeinaseparatefile.typemockWorkerstruct{}//implmentourWorkeriterfacefunc(mdmockWorker)Work()error{returnnil}typemockDoerstruct{ErrorerrorWorkerworker}//implmentourDoeriterfacefunc(mdmockDo

unit-testing - 单元测试调用另一个方法的方法

对调用多个方法的方法进行单元测试的最佳方法是什么,例如:modify(stringvalue){if(value.Length>5)replaceit(value);elsechangeit(value);}此伪代码有一个修改方法,(当前)调用replaceit()或changeit()。我已经为replaceit和changeit编写了测试,因此为modify编写新测试将是99%的同一组代码。我需要测试它的想法,因为它可能会在未来发生变化。那么我是否复制粘贴现有的测试代码?将测试代码移动到一个通用函数?还有其他想法吗?我不确定此处的最佳做法。 最佳答案

go - 用模拟编写单元测试

我在里面写了一个RESTapi。现在我想通过隔离不同的组件来对其进行单元测试。项目结构如下所示,有两个主要包├──main.go├──routes│├──routes.go│└──routes_test.go├──db│└──db.goma​​in.go:项目的主要入口点routes/routes.go:HTTP路由处理包db/db.go:数据库处理器包现在,当我测试http路由时,我只想测试请求是否被路由到正确的处理程序函数,然后它们会做出相应的响应。在实际应用程序中,处理函数实际上会插入/更新数据库,但我不想在测试时这样做。因此,如果我可以模拟一个数据库对象并使我的处理程序函数针对

go - 如何使用Golang组织异步消息发布到RabbitMQ?

我正在尝试使用此流行的RabbitMQ软件包在RabbitMQ中组织异步消息发布:https://godoc.org/github.com/streadway/amqp该库声称支持异步发布。但是我找不到一个例子。我也找不到任何接受回调函数作为输入的函数。有人可以帮忙在Golang上发布异步发布的简单示例吗? 最佳答案 我找到了用于此任务的客户端库。https://github.com/streadway/amqp默认情况下,它实现了异步消息传递。可能对某人有用。 关于go-如何使用Gol